package day1017_3;

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;//1.
import java.util.Set;

public class EmpMapDaoImpl {
    Map<String, Emp> emps=new HashMap<>();
    public boolean updateEmp(Emp newEmp){
        boolean containsKey=emps.containsKey(newEmp.empNo);
        if(containsKey==true){//判断newEmp对象的编号empNo是否在emps集合中
            //如果集合中有此员工数据，再进行修改
            emps.put(newEmp.empNo, newEmp);//用新的员工对象覆盖旧的员工对象(key相同)
            return true;//返回true表示修改成功
        }
        return false;//如果if条件不满足(集合中没有此员工编号)就返回false表示修改失败
    }
    public boolean deleteEmp(String sid){
        Emp e=emps.get(sid);//通过员工编号sid从Map集合中找Emp对象
        if(e!=null){//如果找到的Emp对象是存在的(就删除)
            emps.remove(e);//就调用集合emps的remove方法删除Emp对象e
            return true;//返回true表示删除员工对象成功
        }
        return false;//如果if不满足(集合中没有此员工)就return false
    }


    public boolean isExists(String empNo){
        return emps.containsKey(empNo);
    }
    EmpMapDaoImpl(){
        Emp e1=new Emp("big3-1001","欧阳锋");
        Emp e2=new Emp("big3-1002","黄药师");
        emps.put(e1.empNo,e1);
        emps.put(e2.empNo,e2);
    }



    public boolean insertEmp(Emp newEmp){
        emps.put(newEmp.empNo, newEmp);
        return true;
    }

    public void showAll(){
        Set<Map.Entry<String,Emp>> set=emps.entrySet();//获取集合的每个键值对儿
        for(Map.Entry<String,Emp> entry: set){//用循环获取每个键值对儿(打印)
            //打印key， 打印value
            System.out.println(entry.getKey()+":"+entry.getValue());
        }
    }

}